package avicit.bdp.oss.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.oss.dto.ObjectUserRelDto;
import org.springframework.stereotype.Repository;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2021-01-12
 * @类说明：ObjectUserRelDao
 * @修改记录：
 * @注意事项：
 * @功能：对象-用户关系
 */
@Repository
public interface ObjectUserRelDao extends BaseDAO<ObjectUserRelDto> {
    /**
     * 查询对象-用户映射关系
     * @param bucketName
     * @param prefix
     * @param objectName
     * @param userId
     * @return
     */
    ObjectUserRelDto queryObjectUserRelDto(String bucketName, String prefix, String objectName, String userId);

    /**
     * 统计对象-用户映射关系
     * @param bucketName
     * @param prefix
     * @param objectName
     * @param userId
     * @return
     */
    Integer countObjectUserRelDto(String bucketName, String prefix, String objectName, String userId);

    /**
     * 删除对象-用户映射关系
     * @param bucketName
     * @param prefix
     * @param objectName
     * @param userId
     */
    void delObjectUserRelDto(String bucketName, String prefix, String objectName, String userId);

    /**
     * 删除桶-用户映射关系
     * @param bucketId
     * @param bucketName
     * @param userId
     */
    void delBucketUsrRel(String bucketId, String bucketName, String userId);
}
